Graylog起源於2009年德國漢堡的一個開源項目。 作為一個事件紀錄分析系統,在處理大量資料方面,它能夠輕鬆將來自多台不同設備機器的Log檔彙整一處集中管理分析,並提供一個可視化網頁介面方便操作,主要可包含以下的功能: 全Web 化操作介面 收集多種格式與主機記錄。
- 本篇文章為筆者在輔導中小企業使用OPEN SOURCE當成資安執行工具的一個解決方案,在Windows 10/11安裝Graylog的筆記,提供給有需要的邦友參考。
- Logs自動化蒐集、告警及定期審查一直是資安重要的議題,我一直覺得沒靠系統工具的日誌審查都是假的。沒錢有沒錢的管理方式,但絕對不是說每天都會檢查每一台電腦的重要logs有沒有異常?或也沒自動化異常告警機制卻說靠3個月審查一次logs審查就能安全(那只是擺明著應付稽核而不是有在管理)。
- 日誌蒐集需要工具,沒工具都是唬爛、用口號稱在做資安管理
mkdir graylog
cd graylog
version: '3'
services:
mongo:
image: mongo:4.2
container_name: mongo
networks:
- graylog
volumes:
- mongo_data:/data/db
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
container_name: elasticsearch
environment:
- http.host=0.0.0.0
- transport.host=127.0.0.1
- network.host=0.0.0.0
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.type=single-node
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
networks:
- graylog
volumes:
- es_data:/usr/share/elasticsearch/data
graylog:
image: graylog/graylog:4.1
container_name: graylog
environment:
- GRAYLOG_PASSWORD_SECRET=mysecretpassword
- GRAYLOG_ROOT_PASSWORD_SHA2=<root_password_sha2>
- GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 -- /docker-entrypoint.sh
networks:
- graylog
depends_on:
- mongo
- elasticsearch
ports:
- "9000:9000"
- "12201:12201/udp"
- "1514:1514"
- "1514:1514/udp"
networks:
graylog:
driver: bridge
volumes:
mongo_data:
driver: local
es_data:
driver: local
$password = "yourpassword"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($password)
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hash = $sha256.ComputeHash($bytes)
$hashString = -join ($hash | ForEach-Object { "{0:x2}" -f $_ })
$hashString
b6a89bc5c631f3638b20e2e49e32790ac993e19934b69d9e1cafe75d6c8f1938
4.設定密碼
5.啟動Docker Compose
docker-compose up -d
完成了安裝。可以開始在Graylog設定要管理的設備LOG來源了